// 闲置物品登记页面逻辑 - 干净版本
Page({
  /**
   * 页面的初始数据
   */
  data: {
    formData: {
      itemName: '',
      contactInfo: ''
    },
    errors: {},
    categoryOptions: ['工具类', '电器类', '家具类', '运动器材', '其他'],
    selectedCategory: -1,
    isSubmitting: false
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    console.log('页面加载 - 闲置物品登记(干净版本)');
    wx.setNavigationBarTitle({
      title: '闲置物品登记'
    });
    this.initFormData();
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    console.log('页面显示 - 闲置物品登记(干净版本)');
    this.initFormData();
  },

  /**
   * 初始化表单数据
   */
  initFormData: function() {
    console.log('初始化表单数据');
    this.setData({
      formData: {
        itemName: '',
        contactInfo: ''
      },
      errors: {},
      selectedCategory: -1,
      isSubmitting: false
    });
    
    console.log('闲置物品登记页面数据初始化完成:', this.data);
  },



  /**
   * 输入框变化处理
   */
  onInputChange: function(e) {
    const field = e.currentTarget.dataset.field;
    const value = e.detail.value;
    
    console.log('闲置物品输入变化:', field, value);
    
    this.setData({
      [`formData.${field}`]: value
    });
    
    // 清除对应字段的错误信息
    if (this.data.errors[field]) {
      this.setData({
        [`errors.${field}`]: ''
      });
    }
  },

  /**
   * 选择物品类别
   */
  onCategoryChange: function(e) {
    console.log('类别选择变化:', e.detail.value);
    this.setData({
      selectedCategory: e.detail.value
    });
    
    // 清除错误信息
    if (this.data.errors.itemCategory) {
      this.setData({
        'errors.itemCategory': ''
      });
    }
  },

  /**
   * 表单验证
   */
  validateForm: function() {
    const errors = {};
    const { formData, selectedCategory } = this.data;
    
    if (!formData.itemName.trim()) {
      errors.itemName = '请输入物品名称';
    }
    
    if (selectedCategory < 0) {
      errors.itemCategory = '请选择物品类别';
    }
    
    if (!formData.contactInfo.trim()) {
      errors.contactInfo = '请输入联系方式';
    } else if (!/^1[3-9]\d{9}$/.test(formData.contactInfo)) {
      errors.contactInfo = '请输入正确的手机号码';
    }
    
    this.setData({ errors });
    return Object.keys(errors).length === 0;
  },

  /**
   * 提交物品登记
   */
  submitItem: function(e) {
    console.log('提交表单');
    if (this.data.isSubmitting) return;

    // 表单验证
    if (!this.validateForm()) {
      console.log('表单验证失败:', this.data.errors);
      return;
    }

    this.setData({ isSubmitting: true });
    
    console.log('提交数据:', this.data.formData);
    
    // 模拟提交
    setTimeout(() => {
      wx.showToast({ 
        title: '提交成功', 
        icon: 'success',
        duration: 2000
      });
      
      this.setData({ isSubmitting: false });
      
      setTimeout(() => {
        wx.navigateBack();
      }, 2000);
    }, 1000);
  }
}); 